Simple Network Management Protocol
Computer network management systems use a standardized communication protocol to facilitate communication between devices (computers, printers, peripherals) on the network. The standardized communication protocol discussed with this invention is known as the Simple Network Management Protocol (SNMP). SNMP is explained in more detail in The Simple Book by Marshall T. Rose, 2d ed, Prentice-Hall, Inc., 1994, which is hereby incorporated herein by reference. The SNMP acts as a mechanism to provide and transport management information between network components. SNMP is recognized as an industry standard for network management.
Whenever a program at the user site sends a request to a program at the server site and waits for a response, the requesting program is called the "client" and the responding program is called the "server." In network Server management systems, the user (usually a network administrator) uses a software module known as an SNMP manager to monitor and manage the server or servers in a network. The SNMP manager sends commands and receives information through the network from a software module called a SNMP agent, which directly monitors the server through device drivers and other components. For example, an SNMP manager may request, from the SNMP agent, information regarding the amount of unused memory on a memory module. The SNMP manager and the SNMP agent can be on the same workstation, or the SNMP manager can be at a remote location.
SNMP uses a transport protocol stack such as User Datagram Protocol/internet Protocol (UDP/IP) or Transmission Control Protocol/Internet Protocol (TCP/IP). UDP/IP provides connectionless communication over user Internet Protocol services. It is part of the TCP/IP suite. UDP/IP operates at the transport layer, and in contrast to TCP/IP, does not guarantee the delivery of data. TCP/IP is standard Internet protocol (or set of protocols) which specifies how two computers exchange data over the Internet. TCP/IP handles issues such as packetization, packet addressing, handshaking and error correction. For more information on TCP/IP, see Volumes I, II and III of Comer and Stevens, Internetworking with TCP/IP, Prentice Hall, Inc., ISBNs 0-13-468505-9 (vol. I), 0-13-125527-4 (vol. II), and 0-13-474222-2 (vol. III).
Upon receiving a data request by a user, the SNMP manager opens one or more SNMP sessions and formulates a proper information request for SNMP agent. The SNMP manager is the client and the SNMP agent is the server. The SNMP manager may be generic or specifically designed for the particular server type.
Typically, the SNMP manager has several parts, each performing a different function. But these parts are related and work together to accomplish certain tasks.
SNMP Management Information Base
When formulating the information request, the SNMP manager may use a set of variables called the Management Information Base (MIB). In general, an MIB defines the aspects of the system and/or the components in the system, such as a disk drive or a memory module. The MIB also contains numeric identifiers which tell system components how to access each variable. The MIB is a hierarchal collection of variables and the description of each variable related to the hardware and software components of the network.
Using the variable set of the MIB, the SNMP manager creates an information request which is sent to the SNMP agent.
Disadvantages of Existing Server Management Applications
Many existing network and server management applications can read and display SNMP MIB data. With the popularity of user-interface platforms, such as Windows NT and Windows 95, many of these applications use the features of Windows NT and Windows 95 platforms to display SNMP MIB data. Examples include the "HP Openview" manufactured by Hewlett Packard, the "LAN Desk Manager" manufactured by Intel, and "ObjectView" in the Unicenter TNG Total Enterprise Management Suite manufactured by Computer Associates International.
Currently, some network management applications have a main window which is split vertically into two parts (two-pane window) to display SNMP MIB data. Typically, the left pane contains the SNMP MIB of the server, while the right pane displays the values of the SNMP MIB variables in plain text or in columns.
While these network management applications display SNMP MIB data, they are cumbersome and non-intuitive. In real-world situations where performance time is critical, these applications fail to provide the user quick access to information concerning the network.
First, in current systems when the network administrator needs specific information about the network, the prior inventions are difficult to access because the MIB variables on the left pane may not be displayed or organized in an intuitive manner. The user cannot quickly browse and find a particular component group or a specific device.
Adding to the problem is the ambiguous descriptions of the MIB variables. For example, in the "ObjectView" application of the Unicenter TNG Total Enterprise Management Suite, the user may not know what the MIB variable "Rmtntrfce Controller Revision I" represents. This inefficiency is more significant when the user needs to access key variables quickly in order to react to a malfunction detected on the network.
Minimizing computer server downtime is a major concern in computer network systems. With emerging Internet, intranet and collaborative applications taking on more essential business roles every day, the cost of network server downtime will continue to spiral upward.
Furthermore, some MIB variables, such as entries in a table, are not accessible to the user because they are used internally by the network management software. In addition, MIB variables are read-only and cannot be modified by the user. Many of the prior server management applications show the entire MIB--all the variables in the MIB regardless of their status. This creates user confusion. Further, the value of the MIB variable is unknown, the value may be displayed on the right pane as "????" or "Not Available."
In other cases, the right pane only displays two or three variables at a time, instead of simultaneously showing all the critical or related variables that the user needs. Consequently, a user may need to proceed variable by variable. This is highly inefficient. Users often need immediate access to several distinct variables or a group of variables to make a decision regarding network problems. Reducing the time to access key variables is especially important when the user needs to perform emergency tasks.
Moreover, even when two or three MIB variable values are displayed together on the right pane, not all variables important to the user may not be grouped together. For example, two important variables may be separated by three or four unimportant variables such as "serial number" or "description." Since the right pane of the window only shows two or three variable values at a time, the user must use the scroll bars to jump back and forth to compare the values of the important variables.
In addition, the MIB variables are often displayed in nondescript columns on the right without an explanation of what the MIB variable represents. As in the example above, for the left part of the window, the user may not know what the MIB variable "Rmtntrfce Controller Revision I" represents. If the user is unfamiliar with the variable names, he or she must spend time to look up the variables in user support manuals. Again, this inefficiency is more pronounced in critical situations when there is a malfunction on the server.
Still further, the values for each MIB variable may not be labelled in the right pane of the window. The user may not know the units of the values. For example, in some of the "ObjectView" application of the Unicenter TNG Total Enterprise Management Suite, the value of a memory size variable is not labelled. Again, the user must look up the variable in a support manual.
In addition, in many of these prior applications, such as the "ObjectView" application of the Unicenter TNG Total Enterprise Management Suite, it is time-consuming to change the values of MIB variables. In order to change the value of a MIB variable, the user may need to click on the right button of the mouse, which opens a separate menu list box, and select the menu item to change variables. This opens another dialog box in which the user actually changes the variable. The user must close this dialog box in order to return to the server management application. The user must repeat this operation each time the user needs to change more than one variable. This can be time-consuming and degrade network performance, particularly if the network administrator needs to change a series of variables.
Furthermore, it is often unclear which MIB variables can be changed and which cannot be changed. The user must determine which variables are read-write and which are read-only by trial and error or by looking up the variable in a support manual.
Extra time spent training personnel on how to operate the server management application leads to increased costs and lost productivity. Efficiency becomes even more crucial for companies which have large networks and where timing is critical, such as airlines and banks. A network administrator may need to quickly find and modify different MIB variables for different servers. For example, an airline network may have several servers where timing, number of transactions, and size of transactions are different for each server. An airline may use one server for managing ticket sales, one server to handle frequent flyer transactions, and another server to handle arriving flight information. Each server may have its own type of network components, response times, backup systems, etc. Quick access to a server's information could save a company significant sums.